/**
 * Created BY BYCore.
 * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
 *
 * This source code is licensed under the GNU GENERAL PUBLIC LICENSE.
 * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
 */


#import <Foundation/Foundation.h>
#import "BYCore.h"

#ifndef BYCoreModSectName

#define BYCoreModSectName "BYCoreMods"

#endif

#ifndef BYCoreServiceSectName

#define BYCoreServiceSectName "BYCoreServices"

#endif


#define BYCoreDATA(sectname) __attribute((used, section("__DATA,"#sectname" ")))



#define BYCoreMod(name) \
class BYCore; char * k##name##_mod BYCoreDATA(BYCoreMods) = ""#name"";

#define BYCoreService(servicename,impl) \
class BYCore; char * k##servicename##_service BYCoreDATA(BYCoreServices) = "{ \""#servicename"\" : \""#impl"\"}";

@interface BYAnnotation : NSObject

@end
